TRIAD: Creating Synergies Between Memory, Disk and Log in Log Structured Key-Value Stores
نویسندگان
چکیده
We present TRIAD, a new persistent key-value (KV) store based on Log-Structured Merge (LSM) trees. TRIAD improves LSM KV throughput by reducing the write amplification arising in the maintenance of the LSM tree structure. Although occurring in the background, write amplification consumes significant CPU and I/O resources. By reducing write amplification, TRIAD allows these resources to be used instead to improve user-facing throughput. TRIAD uses a holistic combination of three techniques. At the LSM memory component level, TRIAD leverages skew in data popularity to avoid frequent I/O operations on the most popular keys. At the storage level, TRIAD amortizes management costs by deferring and batching multiple I/O operations. At the commit log level, TRIAD avoids duplicate writes to storage. We implement TRIAD as an extension of Facebook’s RocksDB and evaluate it with production and synthetic workloads. With these workloads, TRIAD yields up to 193% improvement in throughput. It reduces write amplification by a factor of up to 4x, and decreases the amount of I/O by an order of magnitude.
منابع مشابه
Concurrent Log-Structured Memory for Many-Core Key-Value Stores
Key-value stores are an important tool in managing and accessing large in-memory data sets. As many applications benefit from having as much of their working state fit into main memory, an important design of the memory management of modern key-value stores is the use of log-structured approaches, enabling efficient use of the memory capacity, by compacting objects to avoid fragmented states. H...
متن کاملDesign of a Write-Optimized Data Store
The WriteBuffer (WB) Tree is a new write-optimized data structure that can be used to implement per-node storage in unordered key-value stores. The WB Tree provides faster writes than the Log-Structured Merge (LSM) Tree that is used in many current high-performance key-value stores. It achieves this by replacing compactions in LSM Trees, which are I/O-intensive, with light-weight spills and spl...
متن کاملSystems Group , Department of Computer Science , ETH Zurich Efficient Scan in Log - Structured Memory Data Stores
Novel storage solutions like RAMCloud promise never seen before latency by storing all their data in main memory. To efficiently store and retrieve objects from memory some systems reuse ideas from log-structured file systems and utilise a log like data structure to hold the data objects in DRAM. Instead of updating data in place, with log-structured memory any modification to the data generate...
متن کاملWrite-Optimized Indexing for Log-Structured Key-Value Stores
The recent shift towards write-intensive workload on big data (e.g., financial trading, social user-generated data streams) has pushed the proliferation of the log-structured key-value stores, represented by Google’s BigTable, HBase and Cassandra; these systems optimize write performance by adopting a log-structured merge design. While providing keybased access methods based on a Put/Get interf...
متن کاملLightweight Indexing for Log-Structured Key-Value Stores
The recent shift towards write-intensive workload on big data (e.g., financial trading, social user-generated data streams) has pushed the proliferation of log-structured key-value stores, represented by Google’s BigTable [1], Apache HBase [2] and Cassandra [3]. While providing key-based data access with a Put/Get interface, these key-value stores do not support valuebased access methods, which...
متن کامل